Aspects of the present invention relate to communications. Other aspects of the present invention relate to secure communications and to securing data in transit over networks such as the Internet.
In an era of communications, different aspects of daily lives, both personal and commercial, largely depend on quality of communications. Such quality may be measured in terms of convenience to access different means of communications as well as the types of support that a communication channel may provide to its users. With the advancement of technologies, communication users, more and more so, demand security, efficiency, possibility of transporting heterogeneous types of data, flexibility of selecting communication routes that are appropriate to the applications at hand, and the capability of dynamically monitoring the performance of a network through which traffic is carried.
Secure data transport is an essential aspect of modern communications. Secure data transport may require more than simply providing security to communication channels. In some applications, users may desire dynamic control of security measure being used in various communication channels as well as the manner in which such security measures should be enforced. Coupled with such a need for control of security is the need for capability of monitoring the execution of such control.
Efficiency in communications may be assessed with respect to different application needs. For example, the speed of transporting data may be essential to some applications. On the other hand, for others, the bandwidth resource used to transport data may also come into an efficiency consideration. Furthermore, some applications may evaluate efficiency in terms of whether certain necessary processing, such as data transformation, can be supported along a communication channel so that transported data may arrive at the information requesting user in a form that is meaningful.
In modern communications, for various reasons, flexibility is often needed. For instance, users may request data from heterogeneous communication devices. Different types of device may require that requested data arrive in different forms. For example, a user may request a web page encoded in hypertext markup language (HTML) from a personal data assistant (PDA) with a wireless connection. In this case, unless the HTML document is transformed into a document in wireless markup language (WML), the user may not be able to view the document properly. As another example, a user may request the same web page from a cellular phone without display capability. In this case, the content of the web page (text) may need to be converted into speech via a text-to-speech transformation during the transport.
Different user needs may also demand flexibility in communications. For instance, a user who is French speaking may request a web page having its content encoded in English. The requested web page, in this case, may need to be translated from English into French before a corresponding French web page reaches the end user. Based on particular needs of a communication session, a fixed communication channel may be configured to include intermediate nodes that have the capabilities to perform required functions. Different nodes in a communication channel may be assigned to perform distinct functions.
Problems arise when a fixed communication channel does not have any intermediate node capable of performing some required functions. It is very unlikely, if not impossible, that a fixed communication channel can meet dynamic requirements of all the applications it supports.